"""
pytest单元测试框架
工具安装
pip install pytest
pip install pytest-html
pip install allure-pytest
pip install pytest-ordering
pytest-rerunfailures 重复运行
类： Test 开头
方法：test 开头

#setup_class, teardown_class  :Test类 test1,test2,test3 法执行前 和 执行后运行
#pytest 的前置 和后置方法
#类级别： setup_class()
            test1,test2,test3
        teardown_class()
#函数机：setup_method,teardown_method()
setup_class()
test1()
teardown_method()

setup_class()
test2()
teardown_method()

setup_class()
test3()
teardown_method()

#fixture pytest的夹具，脚手架
#夹具命名不能以test开头，还要添加@putest.fixture
1.创建多个夹具方法，类中的方法可以使用夹具方法,也可以不使用
2.夹具可以嵌套使用
3.夹具可以通过yield , return test的方法进行数据传递
4.夹具的作用范围
function:每个方法都能使用
class : 每个类都可以使用,但是每个类中的方法都可以使用一次，谁先用归谁
moudle:每个文件中的类都可以使用,每个文件中的类只可以使用一次，那个类先用到归谁。
package:在包内只能使用一次,谁先用生效归谁。
session:全局 整个项目中只能使用一次,谁先使用生效。
后四者在自己作用范围内只能使用一次。
"""
import pytest
from selenium import webdriver


@pytest.fixture()
def log_print():
    print("开启日志")
    yield
    print("关闭日志")
@pytest.fixture()
def database_clean(log_print):
    print("链接数据库，清理数据库内容")
    yield
    print("断开数据库的链接")
@pytest.fixture()
def get_driver(database_clean):
    driver = webdriver.Chrome()
    print("打开浏览器")
    driver.get("http://localhost/ranzhi/www/crm/customer-browse.html")
    yield driver
    driver.quit()
    print("关闭浏览器")
def test001(get_driver):
    print("执行ui测试代码")